如何理解excel数组公式 {=sum(1/countif(B8:K9,B8:K9))}

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:04:26
如何理解这个数组啊 {=sum(1/countif(B8:K9,B8:K9))}
如何执行的啊。我想知道过程,而不仅仅是结果。呵呵,谢谢。

举个简单的例子,比如,A1:A7中有a,a,a,b,c,d,d

首先,countif(a1:a7,a1:a7) 返回对每个单元格里面的数值统计的个数,返回 {3,3,3,1,1,2,2} 跟a1:a7对应 {a,a,a,b,c,d,d} 就很容易明白,返回的是这组数据每个所对应的个数

其次,用1去除,如果返回个数是1的,就还等于1,如果返回个数是大于1的,比如是n,就会变成1/n ,一共会有n个1/n(这点明白很关键),比如上面就返回 {1/3,1/3,1/3,1,1,1/2,1/2}

最后,用sum去求和,n个1/n相加,就等于1,意思是,有重复项的,只计作了1,所以就能统计不重复项了。

这个数组公式的意义在于求出B8:K9区域不重复数值的个数,

1.

countif(B8:K9,B8:K9)这个公式可以求出每个单元格的值在B8:K9中重复的个数

2.

用1除以countif(B8:K9,B8:K9)的结果,就可得出每个数值的倒数。

3.

各个倒数相加即可得出不重复值的个数。


使用具体事例看一下吧

  •  比如a1:a3单元格的值为1、1、2,使用COUNTIF(A1:A3,A1:A3)得出结果为{2;2;1},2的倒数是1/2,1的倒数为1,那么1/2+1/2+1=2,那么不重复个数就为2.

  • 如何让它出现倒数呢?办法有啦!就是

1/COUNTIF(A1:A3,A1:A3)

  • 如何让他相加呢?

sum(1/COUNTIF(A1:A3,A1:A3))

  • 最后别忘了使用ctrl+shift+enter组合键确定公式哦。

统计B8:K9这个区域中有多少个不重复的内容,重复的只算一个。

精彩 又学一个
刚才实验了下 发现一旦有空白单元就会报错
实际操作时 是否还要加个判断语句?